Authorable content rating system

ABSTRACT

Techniques for generating customized rating systems for use in a DVR are described. According to one technique, a user submits a rating system definition that comprises two or more different ratings of the user&#39;s choosing. The rating system definition is stored. The rating system definition defines a customized ratings system. That system&#39;s creator and other users may then associate various entities, such as channels, series, and episodes, with ratings from the customized rating system. DVRs may use these associations between entities and ratings for various purposes. For example, DVRs may use these associations to allow a user to search for entities that satisfy specified rating criteria. For another example, DVRs may use these associations to restricting which entities and information about those entities can be displayed or recorded when the DVR is in a restricted mode of operation. Customized rating systems may be modified by multiple users in collaboration.

BENEFIT CLAIM

This application claims the benefit as a Continuation of U.S. patentapplication Ser. No. 11/649,427, filed Jan. 3, 2007, the entire contentsof the preceding are hereby incorporated by reference as if fully setforth herein, under 35 U.S.C. § 120. The Applicant hereby rescinds anydisclaimer of claim scope in the parent application or the prosecutionhistory thereof and advises the USPTO that the claims in thisapplication may be broader than any claim in the parent application.

FIELD OF THE INVENTION

The present invention relates to digital video recorders (DVRs), ratingsystems, and parental controls.

BACKGROUND

The approaches described in this section could be pursued, but are notnecessarily approaches that have been previously conceived or pursued.Therefore, unless otherwise indicated herein, the approaches describedin this section are not prior art to the claims in this application andare not admitted to be prior art by inclusion in this section.

The introduction of the DVR to the consumer world has revolutionized theway viewers watch and record television programs. DVRs eliminate many ofthe complications of VCRs and the need for video tapes. DVRs recordtelevision programs on a hard drive that is capable of storing a largenumber of television programs. Because DVRs are usually box-like inshape, and are often found sitting on top of the television sets towhich they are connected, DVRs typically are included in the broadcategory of devices now called “set-top boxes.” Much like VCRs, DVRsreceive television signals (which may represent television programsand/or movies) as input from cables or satellite dishes, (or, in somecases, unlike VCRs, from broadband network connections) and also outputtelevision signals to a television set or other display.

The television programs and movies that a DVR records are oftenassociated with ratings. Ratings are designed to give viewers somesummarized understanding of the content that the viewers are viewing orabout to view. For example, an MPAA “G” rating associated with a moviemight suggest that the movie is appropriate for children to watch, atleast in the opinion of the MPAA. In contrast, an MPAA “R” ratingassociated with a movie might suggest that children under the age of 17ought not to watch the movie.

The reasons for a rating being associated with a movie might not bereadily apparent from the rating itself, since there may be any of anumber of reasons why a particular rating might be associated with themovie. For example, an MPAA “R” rating might be associated with a movie(a) because of the nature of the language used in the movie, (b) becauseof graphic violence being shown in the movie, or (c) because of certaintypes of nudity being shown in the movie. One often can only guess froman MPAA “R” rating which, or all, of these reasons a particular movie israted “R.”

Other rating systems exist. For example, other rating systems include TVRatings and Advisories, Star Ratings, and various rating systems used invarious countries. Some rating systems are more specific than othersare. Some rating systems actually give the viewer more of a specificidea of what kind of content a particular television program or moviecontains.

While many find existing rating systems useful, some viewers find manyof them to be quite vague. Some viewers are not interested in the kindof information that existing rating systems convey. The kind ofcontent-summarizing information that one viewer would find useful mightbe considered less useful by another viewer. Many viewers findthemselves disagreeing with ratings that an authoritative ratingsorganization has assigned to a particular television program or movie.Unfortunately, these viewers often have little or no ability to changeor influence either existing rating systems or ratings that areassociated with specified television programs and movies.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1 is a block diagram that illustrates a system in which customizedrating systems can be created and used at a DVR, according to oneembodiment of the invention;

FIG. 2 is a flow diagram that illustrates the steps of a technique forcreating a customized rating system, according to one embodiment of theinvention;

FIG. 3 is a flow diagram that illustrates the steps of a technique forassociating a rating from a customized rating system with an entity,according to one embodiment of the invention;

FIG. 4 is a block diagram of a system on which embodiments of theinvention may be implemented;

FIG. 5 is a block diagram that shows an example of the internalstructure and operation of a DVR, according to an embodiment of theinvention;

FIG. 6 is a flow diagram that illustrates the steps of a technique fordisplaying customized rating information in an EPG, according to oneembodiment of the invention;

FIG. 7 is a flow diagram that illustrates the steps of a technique fordisplaying a set of entities that satisfy user-specified search criteriathat include rating criteria, according to one embodiment of theinvention;

FIG. 8 is a flow diagram that illustrates the steps of a technique forrestricting the kinds of entities (and information about those entities)that a DVR can display while the DVR is in a particular mode ofoperation, according to one embodiment of the invention;

FIG. 9 is a flow diagram that illustrates the steps of a technique forusing, at a DVR, a customized rating system that has been defined by oneor more users other than those who use the DVR, according to oneembodiment of the invention;

FIG. 10 is a flow diagram that illustrates the steps of a technique forgenerating a “community rating” for an entity, according to oneembodiment of the invention;

FIG. 11 is a flow diagram that illustrates the steps of a technique forgenerating a collaboratively defined customized rating system, accordingto one embodiment of the invention; and

FIG. 12 is a diagram that shows an example of a DVR-generated screenthat indicates a user-customized rating that is associated with a movie,according to one embodiment of the invention.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

In the following discussion, in references to the drawings like numeralsrefer to like parts throughout the several views.

Embodiments are described herein according to the following outline:

-   -   1.0 General Overview    -   2.0 System Structural Overview    -   3.0 Example Techniques    -   4.0 Example DVR    -   5.0 Implementation Mechanisms—Hardware Overview        1.0 General Overview

Some DVRs come equipped with parental controls that allow a parent tospecify that programs and movies that are associated with certainparent-selected ratings should not be shown by the DVR, at least whenthe DVR is in a “kid's” mode (as opposed to a “regular” mode). Forexample, a parent might configure a DVR's parental controls to cause theDVR to prevent, while in the “kid's” mode, the playing of live orrecorded television programs and movies that are associated with eitheran “MA” or “R” rating. In this manner, a parent may thwart, at least tosome extent, a child's efforts to view televised content that the parentdeems to be inappropriate for the child.

According to one embodiment of the invention, a user-defined ratingsystem definition is received from a user through a user interface at aclient device such as a computer or DVR. The rating system definitionmay comprise two or more separate user-defined ratings. The user-definedratings may be (but do not need to be) assigned a user-specified“restrictiveness” rank or order relative to each other in the ratingsystem definition, such that one rating may be defined as being “morerestrictive” or “less restrictive” than other ratings in the ratingsystem definition (e.g., in a similar way to how an MPAA “R” rating isdefined to be more restrictive than an MPAA “G” rating in the MPAArating system). The rating system definition is sent from the clientdevice to a server device. The rating system definition is stored at theserver device. Rating systems that are defined by a rating systemdefinition that is stored at the server device are referred to herein as“customized rating systems.” In one embodiment of the invention, arating system definition comprises potentially multiple “scales,” witheach such scale comprising two or more different ratings. For example, arating system definition may comprise one “scale” that specifies an“overall” rating, and also additional separate “scales” that specifyratings for specific attributes such as sex, violence, language, dialog,etc.

In one embodiment of the invention, a user-specified association between(a) a user-selected entity, and (b) a user-selected rating within acustomized rating system, is received through a user interface at aclient device. For example, the entity may be a television channel, amovie, a television special, a sporting event, a television series(e.g., a “show” such as “Star Trek”), a specific episode within atelevision series (e.g., the Nth episode of a particular multi-episode“show,” such as the episode “Mudd's Women” of “Star Trek”), a televisionspecial program, a television miniseries, other content downloadableover a network such as the Internet, a commercial or advertisement, etc.The association is stored at the server device. A rating that isassociated with an entity is referred to herein as that entity's “entityrating.”

In one embodiment of the invention, an entity-to-rating association ofthe kind described above is transmitted from the server device to a DVR.The entity-to-rating association is stored at the DVR. Such anassociation may be used by the DVR for various purposes. In oneembodiment of the invention, a rating that is associated with an entity(e.g., a channel, series, or episode) for which the DVR displaysinformation (e.g., a name or title of the entity) in an electronicprogram guide (EPG) is also displayed in the EPG in connection with thatentity. FIG. 12 is a diagram that shows an example of a DVR-generatedscreen that indicates a user-customized rating that is associated with amovie, according to one embodiment of the invention. In one embodimentof the invention, the DVR receives user-specified search criteria thatinclude a user-selected rating from a customized rating system. The DVRsearches a set of entities (e.g., channels, series, or episodes) forentities that satisfy the user-specified search criteria (e.g., entitiesthat have been associated with a rating that is the same as, or,alternatively, “no more restrictive than,” the user-selected rating inthe same customized rating system). The DVR presents, to a viewer, alist of entities that satisfy the user-specified criteria.

In one embodiment of the invention, the DVR receives, through a userinterface, a user-specified set of parental control criteria. The set ofparental control criteria may indicate a “most restrictive allowed”rating that a user has selected from a customized rating system. The DVRalso may receive, through the user interface, a viewer type definition.The viewer type definition defines characteristics of a group ofviewers. For example, a viewer type definition might define a group ofviewers as comprising all viewers (and only those viewers) who are underthe age of 18. The DVR may receive, through the user interface, auser-specified association between a set of parental control criteriaand a viewer type definition. In one embodiment of the invention, theset of parental control criteria, the viewer type definition, and theuser-specified association between the former and the latter are storedat the DVR.

In one embodiment of the invention, different viewer type definitionscorrespond to different modes of operation (e.g., a “kid's mode,” an“adult's mode,” a “teenager's mode,” a “general mode,” etc.) to whichthe DVR can be set to operate. The DVR may be placed in a user-selectedmode of operation (e.g., a “kid's mode”) that corresponds to aparticular viewer type definition (e.g., ages 12 and under) that isstored at the DVR. While in the user-selected mode of operation, beforeallowing any content (e.g., audio and video) or information (e.g., aname, title, or summary) that is associated with or represented by anentity (e.g., a channel, series, or episode) to be displayed, the DVRdetermines whether that entity's entity rating is the same as or “lessrestrictive than” the “most restrictive allowed” rating within the setof parental control criteria that are associated with the viewer typedefinition to which the currently selected mode of operationcorresponds. If the entity's entity rating is not the same as or “lessrestrictive than” the “most restrictive allowed” rating, then the DVRprevents information and content that is associated with or representedby the entity from being displayed. In one embodiment of the invention,while the DVR is in a user-selected mode of operation as describedabove, the DVR additionally prevents information and content that isassociated with or represented by unrated entities from being displayed.

In one embodiment of the invention, the server device (on which therating system definitions are stored) transmits, to a DVR, a list of twoor more existing customized rating systems, which might have beencreated by users other than the DVR's users. The DVR displays the listto a DVR user. The DVR user's selection of one or more of the existingcustomized rating systems within the list is received through a userinterface that the DVR displays. The DVR sends, to the server device, anindication of which customized rating systems the DVR user has selected.In response, the server device transmits, to the DVR, rating systemdefinitions for the selected customized rating systems. The DVR receivesand stores the rating system definitions. Thus, in the same manner thata DVR may use customized rating systems defined by the DVR's users, aDVR may use customized rating systems that were created by users otherthan the DVR's users. When a rating system definition changes, theserver device may automatically transmit the updated rating systemdefinition to DVRs on which the rating system definition is stored.Additionally or alternatively, whenever a DVR establishes a connectionto the server device, the DVR may determine whether any of the ratingsystem definitions currently stored on the DVR have been updated at theserver device. The DVR may download selected updated rating systemdefinitions from the server device. After a rating system definition hasbeen stored at the DVR, the DVR's user can rate entities with ratingsfrom the rating system. The DVR's user may rate entities using a userinterface presented by the DVR, for example. The entity ratings may beuploaded from the DVR to a server, so that the ratings can be madeavailable to others.

In one embodiment of the invention, a “community rating” for an entityis automatically and periodically generated by combining (e.g., throughaveraging) ratings that multiple users have associated with that entity.For example, an entity may be associated with multiple entity ratingsfrom each of several different customized rating systems. The serverdevice may gather all of the entity's entity ratings that pertain to aparticular one of the several customized rating systems. The serverdevice may generate a “community rating” for the entity, relative to theparticular customized rating system, based on all of the gathered entityratings that pertain to the particular customized rating system. Thus,for each different customized rating system, the server device maygenerate a different “community rating” for an entity relative to thatcustomized rating system; an entity may be associated with multipledifferent “community ratings” for multiple different customized ratingsystems. Whenever a user associates a new rating with an entity, thatentity's “community rating” pertaining to the customized rating systemfrom which the new rating was selected may be updated based on the newrating. In the same manner that a DVR user's specified entity ratingsmay be transmitted to and used at a DVR, “community ratings” generatedbased on multiple users' specified entity ratings may be transmitted toand used at the DVR. In one embodiment of the invention, a DVR can beconfigured to use either “community ratings” or entity ratings generatedonly by the DVR's users, as the DVR's users desire.

In one embodiment of the invention, rating system definitions stored atthe server device can be designated, by the creators of those ratingsystem definitions, as being either “open” or “closed.” According to oneembodiment of the invention, if a particular rating system definitionhas been designated as being “closed,” then only the creator of theparticular rating system definition is permitted to modify (e.g.,through a user interface at a client device) the particular ratingsystem definition (e.g., by adding, deleting, or changing ratings withinthe particular rating system definition). However, if a particularrating system definition has been designated as being “open,” then usersother than the particular rating system definition's creator arepermitted to modify the particular rating system definition. Thus, undersome circumstances, a customized rating system may be the collaborativeproduct of the ideas and efforts of multiple users.

Embodiments of the invention summarized above are described below ingreater detail, along with some alternative embodiments of theinvention.

2.0 System Structural Overview

FIG. 1 is a block diagram that illustrates a system in which customizedrating systems can be created and used at a DVR, according to oneembodiment of the invention. The system shown is only one of manydifferent systems in which embodiments of the invention may beimplemented. Other systems in which embodiments of the invention may beimplemented may include more or fewer components than those shown inFIG. 1.

The system shown in FIG. 1 comprises a DVR 102 (such as is describedwith reference to FIG. 5 below), a personal computer 104 (such as isdescribed with reference to FIG. 4 below), a content provider 110 (suchas a broadcaster, satellite television provider, cable televisionprovider, etc.), and a rating system server 112. DVR 102 receivesviewable content (e.g., movies, television programs, and associatedmetadata) from content provider 110. DVR 102 communicates with personalcomputer 104 through a LAN 106. LAN 106 is connected (e.g., through anetwork router) to the Internet 108. Rating system server 112 is alsoconnected to Internet 108.

According to one embodiment of the invention, personal computer 104comprises an Internet browser (e.g., Mozilla Firefox) which is capableof requesting web pages from and sending form data to rating systemserver 112 via LAN 106 and Internet 108. In one embodiment of theinvention, DVR 102 requests data from and sends data to rating systemserver 112 via LAN 106 and Internet 108; thus, in one embodiment of theinvention, DVR 102 can communicate with rating system server 112 forpurposes similar to those for which personal computer 104 cancommunicate with rating system server 112. Rating system server 112sends, to personal computer 104, a web page which comprises a userinterface through which a user of personal computer 104 can specify auser-defined rating system definition. Personal computer 104 transmitssuch a user-defined rating system definition to rating system server 112via LAN 106 and Internet 108. Rating system server 112 receives andstores such a user-defined rating system definition.

In one embodiment of the invention, personal computer 104 sends anentity rating to rating system server 112 via LAN 106 and Internet 108.Rating system server 112 receives and stores such a user-specifiedentity rating. Rating system server 112 sends entity ratings to DVR 102via Internet 108 and LAN 106. DVR 102 receives and stores such entityratings. DVR 102 uses the stored entity ratings for various purposes,some of which are described below.

3.0 Example Techniques

3.1 Creating a Customized Rating System

FIG. 2 is a flow diagram that illustrates the steps of a technique forcreating a customized rating system, according to one embodiment of theinvention. In various alternative embodiments of the invention, more orfewer steps than those shown in FIG. 2 may be performed.

In block 202, a user-defined rating system definition is created by auser through a user interface. For example, a user of personal computer104 may define a rating system definition, including one or moreratings, using a user interface contained within a web page that ratingsystem server 112 sent to personal computer 104 via Internet 108 and LAN106. The user may specify the name of the rating system definition, thenumber of ratings included in the rating system definition, the names ofeach of those ratings, and the “restrictiveness” of those ratingsrelative to each other. For example, the rating system definition mightbe called “the nudity rating system,” and the ratings included in therating system definition might include “extended frontal nudity,” “brieffrontal nudity,” “extended non-frontal nudity,” “brief non-frontalnudity,” and “no nudity whatsoever.” For another example, the ratingsystem definition might be called “the age-based rating system,” and theratings included in the rating system definition might include variousnumbers that represent various ages. Each rating system definitiondefines as separate “customized rating system.” Each “customized ratingsystem” comprises (a) the name of that system, and (b) the ratingsdefined for that system.

In block 204, the rating system definition is sent from the clientdevice to a server device. For example, personal computer 104 may sendthe rating system definition to rating system server 112 via LAN 106 andInternet 108.

In block 206, the rating system definition is received and stored at theserver device. For example, system server 112 may receive the ratingsystem definition via LAN 106 and Internet 108 and store the ratingsystem definition.

As is discussed below, after a rating system definition has beencreated, entities can be assigned ratings from the rating systemdefinition. For example, after “the nudity rating system” has beencreated, a DVR user might assign a first program a rating of “extendedfrontal nudity,” a second program a rating of “no nudity whatsoever,”and a third program a rating of “brief non-frontal nudity.” Thereafter,when the DVR displays program guide information that includes the namesand presentation times of several programs, the DVR may display, next toeach program, the “nudity rating system” rating that has been assignedto that program (if any). Thus, if the program guide informationincludes the first, second, and third program, the DVR may display, nextto the first, second, and third programs' names, the “extended frontalnudity,” “no nudity whatsoever,” and “brief non-frontal nudity” ratings,respectively. One technique by which such ratings may be assigned toprograms is discussed below.

3.2 Associating Customized Ratings with Entities

FIG. 3 is a flow diagram that illustrates the steps of a technique forassociating, with an entity, a rating from a customized rating system,according to one embodiment of the invention. In various alternativeembodiments of the invention, more or fewer steps than those shown inFIG. 3 may be performed.

In block 302, using a user interface, a user selects an entity to berated. As is discussed above, the entity may be a channel, a series, anepisode, etc. The user may select the entity by supplying a name of theentity through the user interface and/or by selecting the entity from alist of multiple entities. For example, the user might select an entityfrom a web page that rating system server 112 sent to personal computer104 via Internet 108 and LAN 106.

In block 304, using a user interface, the user selects a customizedrating system, potentially from among a group of several differentcustomized rating systems. The user may select the customized ratingsystem by supplying a name of the customized rating system through theuser interface and/or by selecting the customized rating system from alist of multiple customized rating systems. Such a list might includenames of customized rating systems such as “the nudity rating system”and/or “the age-based rating system,” among others, for example. As isdiscussed above, each customized rating system is defined by a separaterating system definition. For example, the user might select acustomized rating system (e.g., “the nudity rating system”) from a webpage that rating system server 112 sent to personal computer 104 viaInternet 108 and LAN 106. For another example, the user might select acustomized rating system from a list of rating systems presented on aDVR-generated screen.

After selected a customized rating system, the user may select a ratingfrom that customized rating system. In block 306, using a userinterface, the user selects a rating (e.g., “brief frontal nudity”) froma set of ratings that are included in the selected customized ratingsystem. The user may select the rating from a list of ratings that thecustomized rating system includes, as defined by the customized ratingsystem's rating system definition. For example, the user might select arating from a web page that rating system server 112 sent to personalcomputer 104 via Internet 108 and LAN 106. For another example, the usermight select a rating from a list of ratings presented on aDVR-generated screen.

In block 308, data that indicates an association between the selectedentity and the selected rating is sent from a client device to a serverdevice. For example, personal computer 104 might send such anassociation to rating system server 112 via LAN 106 and Internet 108.For another example, DVR 102 might send such an association to ratingsystem server 112.

In block 310, the server device receives the association-indicating dataand stores the association (i.e., the entity rating) indicated in thedata. For example, rating system server 112 might receive such data thatwas sent from personal computer 104 and responsively store the entityrating that is indicated therein. An entity may be associated withmultiple different entity ratings from multiple different users. Eachentity rating may identify a user from which the entity rating wasreceived. Additionally, each entity rating may identify the customizedrating system to which the entity rating pertains, since differententity ratings associated with the same entity might pertain todifferent customized rating systems.

In block 312, the entity rating is transmitted from the server device toa DVR. For example, rating system server 112 might send the entityrating to DVR 102 via Internet 108 and LAN 106. Rating system server 112might send entity ratings to DVR 102 periodically, and/or in response torequests from DVR 102.

In block 314, the DVR receives and stores the entity rating. Forexample, DVR 102 may receive the entity rating that system server 112sent. DVR 102 may responsively store the entity rating. Although anembodiment of the invention discussed above permits a user to associate,with an entity, a single rating from a selected rating system, in analternative embodiment of the invention, the user may select multipleratings from a selected rating system. In such an alternative embodimentof the invention, all of the user-selected rating from the rating systemmay be associated with the entity. For example, a field of bits, inwhich each bit represents a different rating from a rating system, andin which the “set” bits represent user-selected ratings from that ratingsystem, may be stored in association with an entity in one embodiment ofthe invention.

3.3 Displaying Customized Ratings

FIG. 6 is a flow diagram that illustrates the steps of a technique fordisplaying customized rating information in an EPG, according to oneembodiment of the invention. In various alternative embodiments of theinvention, more or fewer steps than those shown in FIG. 6 may beperformed.

In block 602, a DVR receives user input that indicates which of the oneor more customized rating systems stored at the DVR should currently beactive. For example, a user of DVR 102 may provide such input to DVR 102by using a remote control to select, within a user interface presentedby DVR 102, one or more customized rating systems from a list ofcustomized rating systems that are defined at DVR 102. In response toreceiving such user input, DVR 102 designates the selected customizedrating systems as being “active.”

In block 604, the DVR may receive EPG data from a content provider. Forexample, DVR 102 may receive EPG data from content provider 110periodically;

-   -   additionally or alternatively, content provider 110 may transmit        EPG data to DVR 102 in response to requests from DVR 102.        Alternatively, the DVR may already have the EPG data. The EPG        data represents information about one or more entities (e.g.,        channels and associated channel names, programs and associated        program names, the channels on which those programs are being        shown, the times at which those programs are being shown, etc.)

In block 606, for each EPG-represented entity that is associated with anentity rating that is stored at the DVR, if the customized rating systemto which that entity rating pertains is currently designated as beingactive, the DVR presents that entity rating in the EPG in connectionwith other information about that entity in the EPG. For example, in theEPG, DVR 102 may display a list of one or more channels with theirassociated channel names, channel numbers, or other channel identifiers.In close proximity to each channel name, DVR 102 may display one or moreentity ratings for that channel. Additionally, DVR 102 may display alist of one or more programs with their associated program names. Inclose proximity to each program name, program title, or other programidentifier, DVR 102 may display one or more entity ratings for theseries and/or episode to which that program belongs. For example, nextto a program name displayed in an EPG, DVR 102 might display the rating“brief non-frontal nudity” from “the nudity rating system.”

FIG. 12 is a diagram that shows an example of a DVR-generated screenthat indicates a user-customized rating that is associated with a movie,according to one embodiment of the invention. The screen displayscustomized rating information for a movie called “House of FlyingDaggers.” As is shown on the screen, the user-customized rating that hasbeen associated with this movie is the “no nudity whatsoever” ratingfrom “the nudity rating system,” which is a customized, user-definedrating system. Thus, even though the MPAA might have rated “House ofFlying Daggers” with a rating of “PG-13,” the DVR user can see a ratingthat reflects more specific information about an aspect of the movie inwhich the user is especially interested. The user himself might havepreviously associated the “no nudity whatsoever” rating with the movie.Alternatively, another user of another DVR in another household mighthave associated this rating with the movie.

3.4 Searching for Entities Using Customized Ratings

FIG. 7 is a flow diagram that illustrates the steps of a technique fordisplaying a set of entities that satisfy user-specified search criteriathat include rating criteria, according to one embodiment of theinvention. In various alternative embodiments of the invention, more orfewer steps than those shown in FIG. 7 may be performed.

In block 702, a DVR receives user-specified search criteria that includea user-selected rating from a customized rating system. For example, DVR102 may receive such search criteria through a user interface that auser navigates using a remote control. The search criteria mightindicate, for example, that the user wants to see a list of all episodesthat have been associated with a rating of “extended frontal nudity” ora less restrictive rating from “the nudity rating system.” For anotherexample, the search criteria might indicate that the user wants to see alist of all channels that have been associated with a rating of “12 andyounger” or a less restrictive rating from another customized ratingsystem. The user-specified search criteria may indicate the type ofentities (e.g., channels, series, or episodes) for which the user wantsto search. The user-specified search criteria may indicate whether theentities returned as results of the search should have ratings that arethe same as, “no more restrictive than,” or “no less restrictive than”the rating indicated in the search criteria.

In block 704, the DVR searches a set of entities (e.g., channels,series, or episodes) for entities that satisfy the user-specified searchcriteria (e.g., entities that have been associated with a rating that isthe same as, or “no more restrictive than,” the user-selected rating inthe same customized rating system). For example, DVR 102 may search EPGinformation and entity ratings stored at DVR 102 for entities thatsatisfy the search criteria, including the rating criteria. Although thesearch described with reference to block 704 is described as beingperformed by the DVR, in an alternative embodiment of the invention,such a search is performed by a server that is external to the DVR; theDVR may communicate with such a server via a communication mechanismsuch as the Internet, for example. In such an alternative embodiment ofthe invention, the DVR-external server may perform the search inresponse to a command received from the DVR's user via an Internet website, or in response to a command received from the DVR itself. Theserver may return, to the DVR, identities of the entities that satisfythe user-specified search criteria.

In block 706, the DVR presents, to a viewer, a list of entities thatsatisfy the user-specified criteria. For example, the DVR might presenta list of episodes that are associated with a rating of “extendedfrontal nudity” or a less restrictive rating from “the nudity ratingsystem.”

3.5 Restricting Dvr Use Based on Customized Ratings

FIG. 8 is a flow diagram that illustrates the steps of a technique forrestricting the kinds of entities (and information about those entities)that a DVR can display while the DVR is in a particular mode ofoperation, according to one embodiment of the invention. In variousalternative embodiments of the invention, more or fewer steps than thoseshown in FIG. 8 may be performed.

In block 802, a DVR receives, through a user interface, a user-specifiedset of parental control criteria. For example, DVR 102 may receive andstore such a set of parental control criteria. The set of parentalcontrol criteria may indicate a “most restrictive allowed” rating that auser has selected from a customized rating system. Alternatively, theset of parental control criteria may indicate a “least restrictiveallowed” rating that a user has selected from a customized ratingsystem. Alternatively, the set of parental control criteria may indicatea range of allowed ratings that a user has selected from a customizedrating system; for example, such a range could include all ratings thatare both more restrictive than the “no nudity whatsoever” rating andless restrictive than the “extended non-frontal nudity” rating from “thenudity rating system.” If the customized rating system is age-based,then the parental control criteria may indicate the oldest age, oryoungest age, or a range of ages, that are allowed to be associated withentities that the DVR will display while in a particular mode ofoperation.

In block 804, the DVR receives, through the user interface, a viewertype definition. The viewer type definition defines characteristics of agroup of viewers. For example, a viewer type definition might define agroup of viewers as comprising all viewers (and only those viewers) whoare under the age of 18. For example, DVR 102 may receive and store sucha viewer type definition.

In block 806, the DVR receives, through the user interface, auser-specified association between a set of parental control criteria(as defined in block 802) and a viewer type definition (as defined inblock 804). For example, DVR 102 may receive, through a user interface,user input that directs DVR 102 to establish an association between (a)a set of parental control criteria that includes an age-based “leastrestrictive allowed” rating of “18” from a customized age-based ratingsystem and (b) a viewer type definition of “minors.” For anotherexample, DVR 102 may receive user input that directs DVR 102 toestablish an association between (a) a set of parental control criteriathat includes a “least restrictive allowed” rating of “no nuditywhatsoever” from “the nudity rating system” and (b) a viewer typedefinition of “kids.” DVR 102 may store the association between theselected parental control criteria and the selected viewer typedefinition.

In block 808, the DVR receives user input that instructs the DVR toenter a user-specified mode of operation that corresponds to a storedviewer type definition. For example, if one of the stored viewer typedefinitions is “kids,” then DVR 102 may receive user input thatinstructs DVR 102 to enter a “kids” mode of operation. For anotherexample, if one of the stored viewer type definitions is “adults,” thenDVR 102 may receive user input that instructs DVR 102 to enter an“adults” mode of operation. In one embodiment of the invention, inresponse to receiving user input that instructs DVR 102 to enter aspecified mode of operation, DVR 102 requests a password, and will notchange the current mode of operation unless provided with a passwordthat matches a previously-specified password.

In block 810, the DVR enters the user-specified mode of operation. Whilein the user-selected mode of operation, before allowing any content(e.g., audio and video) or information (e.g., a name, title, or summary)that is associated with or represented by an entity (e.g., a channel,series, or episode) to be displayed, the DVR determines whether thatentity's entity rating within the “allowable” ratings that areassociated with the viewer type definition that corresponds to that modeof operation. If the entity's entity rating is not within these“allowable” ratings, then the DVR prevents information and content thatis associated with or represented by the entity from being displayed.

For example, while in a “kids” mode of operation, corresponding to a“kids” viewer type definition, DVR 102 might receive a request todisplay an EPG. In response, DVR 102 may determine, for each channel inthe EPG, whether that channel is associated with a rating that is“allowable” in view of the parental control criteria that are associatedwith the “kids” viewer type definition. For each channel that isassociated with a rating that is not “allowable,” DVR 102 may preventany information about that channel from being displayed in the EPG. Suchchannels may simply be absent from the EPG so that their existence isnot even suspected. Similarly, in response to a user's request to tunethe DVR to a channel that is associated with a rating that is not“allowable,” DVR 102 may prevent the channel from changing, or change toanother channel that is associated with a rating that is “allowable.”Additionally, for each series, episode, or other entity that isassociated with a rating that is not “allowable,” DVR 102 may preventany information about that entity from being displayed in the EPG, andDVR 102 may prevent all audio and video content within that entity frombeing displayed or recorded.

3.6 Using Other Users' Customized Rating Systems

FIG. 9 is a flow diagram that illustrates the steps of a technique forusing, at a DVR, a customized rating system that has been defined by oneor more users other than those who use the DVR, according to oneembodiment of the invention. In various alternative embodiments of theinvention, more or fewer steps than those shown in FIG. 9 may beperformed.

In block 902, a server device, on which one or more rating systemdefinitions are stored, transmits, to a DVR, a list of two or moreexisting customized rating systems. Although the specific embodimentdescribed in the foregoing example involves the rating systemdefinitions being sent to and selected from a DVR, other embodiments mayinvolve the rating system definitions being sent to and selected from apersonal computer (e.g., via a web page) instead. One or more of thesecustomized rating systems may be defined by users other than the DVR'susers—users who may live in different houses, different cities, and evendifferent nations that those in which the DVR's users live. For example,rating system server 112 may send such a list to DVR 102 via LAN 106 andInternet 108.

In block 904, the DVR receives the list and displays the list to a DVRuser. Although the specific embodiment described in the foregoingexample involves the list being received and displayed by a DVR, otherembodiments may involve the rating system definitions being received anddisplayed by a personal computer (e.g., via a web page) instead. Forexample, DVR 102 may receive the list and display the list to a viewerwho has requested the display of such a list. The list might contain,for example, customized rating systems such as “the age-based ratingsystem,” “the swear word rating system,” “the respect rating system,”and “the long hair rating system,” which other users created usingtechniques described above.

In block 906, the DVR user's selection of one or more of the existingcustomized rating systems within the list is received through a userinterface that the DVR displays. Although the specific embodimentdescribed in the foregoing example involves the user's selection beingreceived through a DVR, other embodiments may involve the user'sselection being received through a personal computer instead. Forexample, DVR 102 may receive user input that indicates the DVR user'sselection of one or more of the customized rating systems displayed inthe list. The DVR user might select “the long hair rating system” fromthe list using a remote control, for example.

In block 908, the DVR sends, to the server device, an indication ofwhich customized rating systems the DVR user has selected. Although thespecific embodiment described in the foregoing example involves theselection indication being sent from a DVR, other embodiments mayinvolve the rating system definitions being sent from a personalcomputer instead. For example, DVR 102 may send, to rating system server112, data that indicates that the DVR user selected “the long hairrating system.” If the indication is sent to the server device from apersonal computer, then additional information that identifies one ormore DVRs to which the server device should transmit rating systemdefinitions also may be sent to the server device from the personalcomputer. Such additional information may comprise one or more DVRidentifiers and/or a user account identifier (which previously mighthave been associated with one or more DVR identifiers), for example.

In block 910, in response to receiving the data that the DVR (or otherdevice) sent in block 908, the server device transmits, to the DVR,rating system definitions for the selected customized rating systems.For example, rating system server 112 may transmit, to DVR 102 viaInternet 108 and LAN 106, a rating system definition for “the long hairrating system,” which was not previously stored at DVR 102.

In block 912, the DVR receives and stores the rating system definitions.For example, DVR 102 may receive and store the rating system definitionsthat rating system server 112 sent to DVR 102 in block 910. For example,DVR 102 may receive and store the rating system definition for “the longhair rating system.” Thereafter, users of DVR 102 can use “the long hairrating system” to associate ratings with entities, to specify parentalcontrols, to view rating information associated with entities, to searchfor entities that satisfy user-specified rating criteria, and/or forother purposes. Thus, in the same manner that a DVR may use customizedrating systems defined by the DVR's users, a DVR may use customizedrating systems that were created by users other than the DVR's users.

When a rating system definition changes, the server device mayautomatically transmit the updated rating system definition to DVRs onwhich the rating system definition is stored. Additionally oralternatively, whenever a DVR establishes a connection to the serverdevice, the DVR may determine whether any of the rating systemdefinitions currently stored on the DVR have been updated at the serverdevice. Alternatively, the server device may make such a determinationwhenever the DVR establishes a connection with the server device. TheDVR may download selected updated rating system definitions from theserver device. The server device may instruct the DVR to perform such adownload.

3.7 Generating a Community Rating

FIG. 10 is a flow diagram that illustrates the steps of a technique forgenerating a “community rating” for an entity, according to oneembodiment of the invention. In various alternative embodiments of theinvention, more or fewer steps than those shown in FIG. 10 may beperformed.

In block 1002, two or more users associate ratings with a particularentity. For example, at different times and from different locations andusing different client devices, ten different users may associate tendifferent ratings (pertaining to the same customized rating system) witha particular episode. The users may associate the ratings with theepisode using the technique described above with reference to FIG. 3,for example. For example, one user might associate the particularepisode with a rating of “extended frontal nudity” from “the nudityrating system” and another user might associate the particular episodewith a rating of “brief frontal nudity” from “the nudity rating system.”All of these ratings are stored at the server device as described above.

In block 1004, the server device generates a community rating for theentity based on all of the ratings (pertaining to the same customizedrating system) that have been associated with the entity. For example,rating system server 112 may assign values to each of the particularentity's entity ratings based on the “restrictiveness” of those ratings,calculate the average of those values, and then select, as the entity'scommunity rating, the rating whose assigned value is closest to theaverage. Inasmuch as a single entity may be associated with entityratings from multiple different customized rating systems, a separatecommunity rating may be generated for an entity for each of thedifferent customized rating systems from which the entity has receivedan entity rating. For example, an entity might have one community ratingthat pertains only to “the nudity rating system,” and that same entitymight have another community rating that pertains only to “the age-basedrating system.”

Each community rating may be automatically and periodically generated.Additionally or alternatively, an entity's community rating pertainingto a particular customized rating system may be regenerated and updatedeach time that a new entity rating pertaining to the particularcustomized rating system becomes associated with that entity.

In block 1006, the community rating is transmitted from the serverdevice to one or more DVRs. For example, rating system server 112 mightsend the community rating to DVR 102 via Internet 108 and LAN 106.Rating system server 112 might send the community rating to other DVRsas well. Rating system server 112 might send community ratings to DVR102 and other DVRs periodically, and/or in response to requests from DVR102 and other DVRs. In one embodiment of the invention, rating systemserver 112 sends a community rating that pertains to a particularcustomized rating system to DVR 102 only if DVR 102 currently stores therating system definition for the particular customized rating system;thus, community ratings that do not pertain to customized rating systemsin which a DVR's users have expressed interest do not need to betransmitted to that DVR.

In block 1008, the one or more DVRs receive and store the communityrating. For example, DVR 102 may receive the community rating thatsystem server 112 sent. DVR 102 may responsively store the communityrating. In the same manner that a DVR user's specified entity ratingsmay be transmitted to and used at a DVR, “community ratings” generatedbased on multiple users' specified entity ratings may be transmitted toand used at the DVR. For example, community ratings can be used in placeof or in addition to an individual user's specified ratings as thoseindividual user's specified ratings are used in the techniques describedabove with reference to FIGS. 6-8. In one embodiment of the invention, aDVR can be configured to use either “community ratings” or entityratings generated only by the DVR's users, as the DVR's users desire.

3.8 Collaborative Customized Rating Systems

In one embodiment of the invention, rating system definitions stored atthe server device can be designated, by the creators of those ratingsystem definitions, as being either “open” or “closed.” Referring againto FIG. 2, in block 202, in addition to the name of the rating systemdefinition, the number of ratings included in the rating systemdefinition, the names of each of those ratings, and the“restrictiveness” of those ratings relative to each other, a creator ofthe rating system definition may specify whether the customized ratingsystem defined by the rating system definition is “open” or “closed.”The server device may store this designation along with the otherinformation in the rating system definition.

FIG. 11 is a flow diagram that illustrates the steps of a technique forgenerating a collaboratively defined customized rating system, accordingto one embodiment of the invention. Using the technique described withreference to FIG. 11, multiple users may contribute to the definition ofa customized rating system. In various alternative embodiments of theinvention, more or fewer steps than those shown in FIG. 11 may beperformed.

In block 1102, a user-defined rating system definition is created by afirst user through a user interface. For example, a user of personalcomputer 104 (the “first user”) may define a rating system definition,including one or more ratings, using a user interface contained within aweb page that rating system server 112 sent to personal computer 104 viaInternet 108 and LAN 106. The first user may specify, through the userinterface, that the rating system definition is “open.”

In block 1104, a second user submits, through a user interface, to aservice device, a request to modify the rating system definition. Thesecond user is a different person than the first user. The first userand the second user may live in different houses, in different cities,and even in different countries. For example, using a personal computerother than personal computer 104, the second user may submit, to ratingsystem server 112 via Internet 108, a request to modify the ratingsystem definition. Although FIG. 11 illustrates a process by which auser can submit a request to modify an existing rating systemdefinition, in one embodiment of the invention, users other than arating system definition's creator are not even given the opportunity,via any user interface, to request the modification of any rating systemdefinition that has been designated by the creator as being “closed.” Insuch an embodiment of the invention, users other than the creator areonly given the opportunity to request the modification of existingrating systems that have been designated as being “open.”

In block 1106, in response to receiving the second user's request, theserver device determines whether the rating system definition is “open.”For example, rating system server 112 may make such a determinationbased on the rating system definition that was created in block 1102. Ifthe rating system definition is “open,” then control passes to block1110. Otherwise, control passes to block 1108.

In block 1108, the second user is informed that he is not allowed tomodify the rating system definition. For example, rating system server112 may send, to the second user's personal computer, a web page that soinforms the second user.

Alternatively, in block 1110, the second user submits, through a userinterface, to the server device, one or more modifications to the ratingsystem definition. Examples of such modifications include adding a newrating, deleting an existing rating, altering an existing rating, andchanging the “restrictiveness” of an existing rating. Othermodifications may be possible. Using a personal computer other thanpersonal computer 104, the second user may submit, to rating systemserver 112 via Internet 108, one or more modifications to the ratingsystem definition.

In block 1112, the server device receives the one or more modificationsand modifies the rating system definition in accordance with the one ormore modifications. For example, rating system server 112 may receivethe one or more modifications and automatically alter the rating systemdefinition in accordance with the one or more modifications. Ratingsystem server 112 may propagate the changed rating system definition tointerested DVRs automatically and/or in response to queries from thoseDVRs.

In an embodiment of the invention described above, users other than thecreator of a customized rating system are permitted to modify the ratingsystem definition for that customized rating system without thediscretion of the creator. However, in an alternative embodiment of theinvention, after the one or more modifications have been received at theserver device, the server device does not automatically modify therating system definition accordingly. Instead, the server devicenotifies the creator (e.g., via e-mail or a message that is presented tothe creator when the creator next accesses the server device) thatmodifications to the rating system definition have been proposed. Thecreator may review the proposed modifications and accept or reject themodifications as the creator desires. In such an embodiment of theinvention, the server device applies to the rating system definitiononly those modifications that the creator accepts. According to oneembodiment of the invention, in order to prevent proposed modificationsfrom being applied to a rating system definition until the creator hasreviewed and approved of those modifications, the creator may designatethe rating system as being “moderated” rather than merely “open.”

Modifications to a rating system definition may be submitted by multipledifferent users. Thus, under some circumstances, a customized ratingsystem may be the collaborative product of the ideas and efforts ofmultiple users.

4.0 Example Dvr

FIG. 5 is a block diagram that shows an example of the internalstructure and operation of a DVR, according to an embodiment of theinvention. An example of the internal structure and operation of a DVRis further described in U.S. Pat. No. 6,233,389, which is incorporatedby reference as though originally disclosed herein.

The DVR shown in FIG. 5 comprises an input module 501, a media switch502, and an output module 503. Input module 501 receives television (TV)input streams in any of a variety of forms. For example, a TV inputstream received by input module 501 may take the form of a NationalTelevision Standards Committee (NTSC) compliant signal or a PALcompliant broadcast signal. For another example, a TV input streamreceived by input module 501 may take a digital form such as a DigitalSatellite System (DSS) compliant signal, a Digital Broadcast Services(DBS) compliant signal, or an Advanced Television Standards Committee(ATSC) compliant signal. DBS, DSS, and ATSC are based on standardscalled Moving Pictures Experts Group 2 (MPEG-2) and MPEG-2 Transport.MPEG-2 Transport is a standard for formatting the digital data streamfrom the TV source transmitter so that a TV receiver can disassemble theinput stream to find programs in the multiplexed signal. According toone embodiment of the invention, input module 501 produces MPEG streams.According to another embodiment of the invention, input module 501produces streams that are encoded using a different codec.

An MPEG-2 transport multiplex supports multiple programs in the samebroadcast channel, which multiple video and audio feeds and privatedata. Input module 501 tunes the channel to a particular program,extracts a specified MPEG stream from the channel, and feeds the MPEGstream to the rest of the system. Analog TV signals are encoded into asimilar MPEG format using separate video and audio encoders, such thatthe remainder of the system is unaware of how the signal was obtained.Information may be modulated into the vertical blanking interval (VBI)of the analog TV signal in a number of standard ways; for example, theNorth American Broadcast Teletext Standard (NABTS) may be used tomodulate information onto certain lines of an NTSC signal, which the FCCmandates the use of a certain other line for closed caption (CC) andextended data services (EDS). Such signals are decoded by input module501 and passed to the other modules as if the signals had been deliveredvia an MPEG-2 private data channel.

Media switch 502 mediates between a microprocessor CPU 506, a hard diskor storage device 505, and memory 504. Input streams are converted to anMPEG stream and sent to media switch 502. Media switch 502 buffers theMPEG stream into memory 504. Media switch 502 then performs twooperations if the DVR user is watching real-time TV: media switch 502sends the MPEG stream to output module 503 and simultaneously writes theMPEG stream to hard disk or storage device 505.

Output module 503 receives MPEG streams as input and produces an analogTV signal according to NTSC, PAL, or other TV standards. Output module503 comprises an MPEG decoder, an on-screen display (OSD) generator, ananalog TV encoder, and audio logic. The OSD generator allows the programlogic to supply images which may be overlaid on top of the resulting TVanalog signal. Additionally, output module 503 can modulate informationsupplied by the program logic onto the VBI of the output signal in anumber of standard formats, including NABTS, CC, and EDS.

5.0 Hardware Overview

FIG. 4 is a block diagram that illustrates a computer system 400 uponwhich an embodiment of the invention may be implemented. Computer system400 includes a bus 402 or other communication mechanism forcommunicating information, and a processor 404 coupled with bus 402 forprocessing information. Computer system 400 also includes a main memory406, such as a random access memory (RAM) or other dynamic storagedevice, coupled to bus 402 for storing information and instructions tobe executed by processor 404. Main memory 406 also may be used forstoring temporary variables or other intermediate information duringexecution of instructions to be executed by processor 404. Computersystem 400 further includes a read only memory (ROM) 408 or other staticstorage device coupled to bus 402 for storing static information andinstructions for processor 404. A storage device 410, such as a magneticdisk or optical disk, is provided and coupled to bus 402 for storinginformation and instructions.

Computer system 400 may be coupled via bus 402 to a display 412, such asa cathode ray tube (CRT), for displaying information to a computer user.An input device 414, including alphanumeric and other keys, is coupledto bus 402 for communicating information and command selections toprocessor 404. Another type of user input device is cursor control 416,such as a mouse, a trackball, or cursor direction keys for communicatingdirection information and command selections to processor 404 and forcontrolling cursor movement on display 412. This input device typicallyhas two degrees of freedom in two axes, a first axis (e.g., x) and asecond axis (e.g., y), that allows the device to specify positions in aplane.

The invention is related to the use of computer system 400 forimplementing the techniques described herein. According to oneembodiment of the invention, those techniques are performed by computersystem 400 in response to processor 404 executing one or more sequencesof one or more instructions contained in main memory 406. Suchinstructions may be read into main memory 406 from anothermachine-readable medium, such as storage device 410. Execution of thesequences of instructions contained in main memory 406 causes processor404 to perform the process steps described herein. In alternativeembodiments, hard-wired circuitry may be used in place of or incombination with software instructions to implement the invention. Thus,embodiments of the invention are not limited to any specific combinationof hardware circuitry and software.

The term “machine-readable medium” as used herein refers to any mediumthat participates in providing data that causes a machine to operationin a specific fashion. In an embodiment implemented using computersystem 400, various machine-readable media are involved, for example, inproviding instructions to processor 404 for execution. Such a medium maytake many forms, including but not limited to, non-volatile media,volatile media, and transmission media. Non-volatile media includes, forexample, optical or magnetic disks, such as storage device 410. Volatilemedia includes dynamic memory, such as main memory 406. Transmissionmedia includes coaxial cables, copper wire and fiber optics, includingthe wires that comprise bus 402. Transmission media can also take theform of acoustic or light waves, such as those generated duringradio-wave and infra-red data communications. All such media must betangible to enable the instructions carried by the media to be detectedby a physical mechanism that reads the instructions into a machine.

Common forms of machine-readable media include, for example, a floppydisk, a flexible disk, hard disk, magnetic tape, or any other magneticmedium, a CD-ROM, any other optical medium, punchcards, papertape, anyother physical medium with patterns of holes, a RAM, a PROM, and EPROM,a FLASH-EPROM, any other memory chip or cartridge, a carrier wave asdescribed hereinafter, or any other medium from which a computer canread.

Various forms of machine-readable media may be involved in carrying oneor more sequences of one or more instructions to processor 404 forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 400 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 402. Bus 402 carries the data tomain memory 406, from which processor 404 retrieves and executes theinstructions. The instructions received by main memory 406 mayoptionally be stored on storage device 410 either before or afterexecution by processor 404.

Computer system 400 also includes a communication interface 418 coupledto bus 402. Communication interface 418 provides a two-way datacommunication coupling to a network link 420 that is connected to alocal network 422. For example, communication interface 418 may be anintegrated services digital network (ISDN) card or a modem to provide adata communication connection to a corresponding type of telephone line.As another example, communication interface 418 may be a local areanetwork (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface 418 sends and receiveselectrical, electromagnetic or optical signals that carry digital datastreams representing various types of information.

Network link 420 typically provides data communication through one ormore networks to other data devices. For example, network link 420 mayprovide a connection through local network 422 to a host computer 424 orto data equipment operated by an Internet Service Provider (ISP) 426.ISP 426 in turn provides data communication services through the worldwide packet data communication network now commonly referred to as the“Internet” 428. Local network 422 and Internet 428 both use electrical,electromagnetic or optical signals that carry digital data streams. Thesignals through the various networks and the signals on network link 420and through communication interface 418, which carry the digital data toand from computer system 400, are exemplary forms of carrier wavestransporting the information.

Computer system 400 can send messages and receive data, includingprogram code, through the network(s), network link 420 and communicationinterface 418. In the Internet example, a server 430 might transmit arequested code for an application program through Internet 428, ISP 426,local network 422 and communication interface 418.

The received code may be executed by processor 404 as it is received,and/or stored in storage device 410, or other non-volatile storage forlater execution. In this manner, computer system 400 may obtainapplication code in the form of a carrier wave.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. Thus, the sole and exclusive indicatorof what is the invention, and is intended by the applicants to be theinvention, is the set of claims that issue from this application, in thespecific form in which such claims issue, including any subsequentcorrection. Any definitions expressly set forth herein for termscontained in such claims shall govern the meaning of such terms as usedin the claims. Hence, no limitation, element, property, feature,advantage or attribute that is not expressly recited in a claim shouldlimit the scope of such claim in any way. The specification and drawingsare, accordingly, to be regarded in an illustrative rather than arestrictive sense.

What is claimed is:
 1. A computer-implemented method comprising:receiving a rating system definition that a user submitted via a userinterface at a client device, wherein the rating system definitionprovides two or more rating options for a plurality of users to selectat least one particular rating option from the two or more ratingoptions as a rating for a user-selected entity; sending at least a partof the rating system definition to a media device, wherein the mediadevice is registered to someone other than the user; in response toreceiving a modification request from the user submitted via the userinterface, modifying the rating system definition based on the receivedmodification request by defining at least one additional rating optionfor the rating system definition to result in a new rating systemdefinition that comprises the two or more rating options and the addedone additional rating option for the plurality of users to choose from,wherein the one additional rating option was unavailable for theplurality of users to choose prior to the modification of the ratingsystem definition; and in response to modifying the rating systemdefinition resulting in the new rating system definition, automaticallytransmitting the new rating system definition to a plurality of mediadevices on which the new rating system definition is stored, theplurality of media devices including the media device; wherein themethod is performed by one or more computing devices.
 2. A method asrecited in claim 1, wherein the user interface at the client device isimplemented as an Internet browser program.
 3. A method as recited inclaim 1, further comprising: receiving a request to associate an entitywith a selected rating, wherein the selected rating is at least one ofthe at least one particular rating option and the at least oneadditional rating option of the modified rating system definition; andin response to receiving the request, storing an association between theentity and the selected rating.
 4. A method as recited in claim 3,further comprising: determining whether the selected rating is allowablebased on user-specified control criteria; and in response to adetermination that selected rating is not allowable based on theuser-specified control criteria, performing at least one of (a)preventing content contained within the entity from being played, and(b) preventing information about the entity from being displayed;wherein preventing information about the entity from being displayedcomprises at least one of (a) preventing information about the entityfrom being displayed in an electronic program guide, and (b) preventinga channel from being displayed in an electronic program guide; andwherein the user-specified control criteria comprises at least one of(a) a most restrictive allowable rating selected from the two or morerating options and the at least one additional rating option, and (b) aleast restrictive allowable rating selected from the two or more ratingoptions and the at least one additional rating option.
 5. A method asrecited in claim 3, further comprising: determining whether the selectedrating falls within a range of acceptable ratings that is specifiedwithin user-specified control criteria by both a least restrictiveallowable rating and a most restrictive allowable rating; and inresponse to a determination that the particular rating option does notfall within the range of acceptable ratings that is specified within theuser-specified control criteria, preventing content contained within theentity from being played; wherein the least restrictive allowable ratingcorresponds to a maximum age and wherein the most restrictive allowablerating corresponds to a minimum age.
 6. A method as recited in claim 3,further comprising: displaying the selected rating in connection withinformation about the entity.
 7. A method as recited in claim 1, whereinthe user-selected entities comprises at least one of (a) a televisionchannel, (b) a television series that comprises two or more episodes,(c) an episode of a television series that comprises two or moreepisodes, (d) a movie, (e) a sporting event, (f) a television specialprogram, (g) a television miniseries, (h) content downloadable over anetwork, or (i) a commercial.
 8. A method as recited in claim 1, furthercomprising: receiving user input that specifies a selected ratingselected from the group consisting of the two or more rating options andthe at least one additional rating option; based on the selected rating,and based on ratings that are associated with entities in a set ofentities, automatically selecting one or more particular entities fromamong the set of entities; and displaying a list of the one or moreparticular entities.
 9. A method as recited in claim 1, whereinmodifying the rating system definition further comprises modifying therating system definition based on an input from a second user other thanthe user.
 10. A non-transitory computer-readable storage medium storingone or more sequences of instructions, which instructions, when executedby one or more processors, cause the one or more processors to: receivea rating system definition that a user submitted via a user interface ata client device, wherein the rating system definition provides two ormore rating options for a plurality of users to select at least oneparticular rating option from the two or more rating options as a ratingfor a user-selected entity; send at least a part of the rating systemdefinition to a media device, wherein the media device is registered tosomeone other than the user; in response to receiving a modificationrequest from the user submitted via the user interface, modify therating system definition based on the received modification request bydefining at least one additional rating option for the rating systemdefinition to result in a new rating system definition that comprisesthe two or more rating options and the added one additional ratingoption for the plurality of users to choose from, wherein the oneadditional rating option was unavailable for the plurality of users tochoose prior to the modification of the rating system definition; and inresponse to modifying the rating system definition resulting in the newrating system definition, automatically transmit the new rating systemdefinition to a plurality of media devices on which the new ratingsystem definition is stored, the plurality of media devices includingthe media device.
 11. A non-transitory computer-readable storage mediumas recited in claim 10, wherein the user interface at the client deviceis implemented as an Internet browser program.
 12. A non-transitorycomputer-readable storage medium as recited in claim 10, wherein thesteps further comprise: receiving a request to associate an entity witha selected rating, wherein the selected rating is at least one of the atleast one particular rating option and the at least one additionalrating option of the modified rating system definition; and in responseto receiving the request, storing an association between the entity andthe selected rating.
 13. A non-transitory computer-readable storagemedium as recited in claim 12, wherein the steps further comprise:determining whether the selected rating is allowable based onuser-specified control criteria; and in response to a determination thatselected rating is not allowable based on the user-specified controlcriteria, performing at least one of (a) preventing content containedwithin the entity from being played, and (b) preventing informationabout the entity from being displayed; wherein preventing informationabout the entity from being displayed comprises at least one of (a)preventing information about the entity from being displayed in anelectronic program guide, and (b) preventing a channel from beingdisplayed in an electronic program guide; and wherein the user-specifiedcontrol criteria comprises at least one of (a) a most restrictiveallowable rating selected from the two or more rating options and the atleast one additional rating option, and (b) a least restrictiveallowable rating selected from the two or more rating options and the atleast one additional rating option.
 14. A non-transitorycomputer-readable storage medium as recited in claim 12, wherein thesteps further comprise: determining whether the selected rating fallswithin a range of acceptable ratings that is specified withinuser-specified control criteria by both a least restrictive allowablerating and a most restrictive allowable rating; and in response to adetermination that the particular rating option does not fall within therange of acceptable ratings that is specified within the user-specifiedcontrol criteria, preventing content contained within the entity frombeing played; wherein the least restrictive allowable rating correspondsto a maximum age and wherein the most restrictive allowable ratingcorresponds to a minimum age.
 15. A non-transitory computer-readablestorage medium as recited in claim 12, wherein the steps furthercomprise: displaying the selected rating in connection with informationabout the entity.
 16. A non-transitory computer-readable storage mediumas recited in claim 10, wherein the user-selected entities comprises atleast one of (a) a television channel, (b) a television series thatcomprises two or more episodes, (c) an episode of a television seriesthat comprises two or more episodes, (d) a movie, (e) a sporting event,(f) a television special program, (g) a television miniseries, (h)content downloadable over a network, or (i) a commercial.
 17. Anon-transitory computer-readable storage medium as recited in claim 10,wherein the steps further comprise: receiving user input that specifiesa selected rating selected from the group consisting of the two or morerating options and the at least one additional rating option; based onthe selected rating, and based on ratings that are associated withentities in a set of entities, automatically selecting one or moreparticular entities from among the set of entities; and displaying alist of the one or more particular entities.
 18. A non-transitorycomputer-readable storage medium as recited in claim 10, whereinmodifying the rating system definition further comprises modifying therating system definition based on an input from a second user other thanthe user.
 19. An apparatus comprising: a subsystem, implemented at leastpartially in hardware, that receives a rating system definition that auser submitted via a user interface at a client device, wherein therating system definition provides two or more rating options for aplurality of users to select at least one particular rating option fromthe two or more rating options as a rating for a user-selected entity; asubsystem, implemented at least partially in hardware, that sends atleast a part of the rating system definition to a media device, whereinthe media device is registered to someone other than the user; asubsystem, implemented at least partially in hardware, that in responseto receiving a modification request from the user submitted via the userinterface, modifies the rating system definition based on the receivedmodification request by defining at least one additional rating optionfor the rating system definition to result in a new rating systemdefinition that comprises the two or more rating options and the addedone additional rating option for the plurality of users to choose from,wherein the one additional rating option was unavailable for theplurality of users to choose prior to the modification of the ratingsystem definition; and a subsystem, implemented at least partially inhardware, that, in response to modifying the rating system definitionresulting in the new rating system definition, automatically transmitsthe new rating system definition to a plurality of media devices onwhich the new rating system definition is stored, the plurality of mediadevices including the media device.
 20. An apparatus as recited in claim19, wherein the user interface at the client device is implemented as anInternet browser program.
 21. An apparatus as recited in claim 19,further comprising: a subsystem, implemented at least partially inhardware, that receives a request to associate an entity with a selectedrating, wherein the selected rating is at least one of the at least oneparticular rating option and the at least one additional rating optionof the modified rating system definition; and a subsystem, implementedat least partially in hardware, that, in response to receiving therequest, stores an association between the entity and the particularrating.
 22. An apparatus as recited in claim 21, further comprising: asubsystem, implemented at least partially in hardware, that determineswhether the selected rating is allowable based on user-specified controlcriteria; and a subsystem, implemented at least partially in hardware,that, in response to a determination that that selected rating is notallowable based on the user-specified control criteria, performs atleast one of (a) preventing content contained within the entity frombeing played, and (b) preventing information about the entity from beingdisplayed; wherein the subsystem that prevents information about theentity from being displayed comprises at least one of (a) a subsystem,implemented at least partially in hardware, that prevents informationabout the entity from being displayed in an electronic program guide,and (b) a subsystem, implemented at least partially in hardware, thatprevents a channel from being displayed in an electronic program guide;and wherein the user-specified control criteria comprises at least oneof (a) a most restrictive allowable rating selected from the two or morerating options and the at least one additional rating option, and (b) aleast restrictive allowable rating selected from the two or more ratingoptions and the at least one additional rating option.
 23. An apparatusas recited in claim 21, further comprising: a subsystem, implemented atleast partially in hardware, that determines whether the selected ratingfalls within a range of acceptable ratings that is specified withinuser-specified control criteria by both a least restrictive allowablerating and a most restrictive allowable rating; and a subsystem,implemented at least partially in hardware, that, in response to adetermination that the particular rating option does not fall within therange of acceptable ratings that is specified within the user-specifiedcontrol criteria, prevents content contained within the entity frombeing played; wherein the least restrictive allowable rating correspondsto a maximum age and wherein the most restrictive allowable ratingcorresponds to a minimum age.
 24. An apparatus as recited in claim 21,further comprising: a subsystem, implemented at least partially inhardware, that displays the selected rating in connection withinformation about the entity.
 25. An apparatus as recited in claim 19,wherein the user-selected entities comprises at least one of (a) atelevision channel, (b) a television series that comprises two or moreepisodes, (c) an episode of a television series that comprises two ormore episodes, (d) a movie, (e) a sporting event, (f) a televisionspecial program, (g) a television miniseries, (h) content downloadableover a network, or (i) a commercial.
 26. An apparatus as recited inclaim 19, further comprising: a subsystem, implemented at leastpartially in hardware, that receives user input that specifies aselected rating selected from the group consisting of the two or morerating options and the at least one additional rating option; asubsystem, implemented at least partially in hardware, that based on theselected rating, and based on ratings that are associated with entitiesin a set of entities, automatically selects one or more particularentities from among the set of entities; and a subsystem, implemented atleast partially in hardware, that displays a list of the one or moreparticular entities.
 27. An apparatus as recited in claim 19, whereinmodifying the rating system definition further comprises modifying therating system definition based on an input from a second user other thanthe user.